﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using ankietyzacja.Logic;
using ankietyzacja.Dao;

namespace ankietyzacja
{
    
    public partial class SurvayResult : System.Web.UI.Page
    {




        private Int32 AnkietaId;
        private Int32 Wypelnionych;

        protected void Page_Load(object sender, EventArgs e)
        {
            AnkietaId = Int32.Parse(Request.QueryString["ankieta_id"]);

            AnkietaSqlDataSource.SelectParameters["ANKIETA_ID"].DefaultValue = AnkietaId.ToString();


            PytaniaWAnkiecieSqlDataSource.SelectParameters["ANKIETA_ID"].DefaultValue = AnkietaId.ToString();


            String connectionString = ConfigurationManager.ConnectionStrings["ankietyzacjaConnectionString"].ConnectionString;

            SqlConnection connection = new SqlConnection(connectionString);

            connection.Open();

            WyslanaAnkietaDao wyslanaAnkietaDao = new WyslanaAnkietaDao(connection, null);
            DataTable AnkietaDataTable = wyslanaAnkietaDao.loadDaneAnkiety(AnkietaId);

            //SqlCommand AnkietaCommand = new SqlCommand(AnkietaSql, connection);
            //AnkietaCommand.Parameters.Add(new SqlParameter("@ANKIETA_ID", AnkietaId));

            //DataTable AnkietaDataTable = new DataTable();

            //new SqlDataAdapter(AnkietaCommand).Fill(AnkietaDataTable);

            //connection.Close();

            Wypelnionych = (Int32)AnkietaDataTable.Rows[0]["WYPELNIONYCH"];

            Int32 procent = (Wypelnionych * 100) / (Int32)AnkietaDataTable.Rows[0]["WYSLANYCH"];

            LiczbaWyslanychLabel.Text = AnkietaDataTable.Rows[0]["WYSLANYCH"].ToString();
            LiczbaWypelnionychLabel.Text = AnkietaDataTable.Rows[0]["WYPELNIONYCH"].ToString() + "  (" + procent + "%)";



        }

        protected void PytaniaWAnkiecieGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow )
            {
                HiddenField pytanieWAnkiecieId = (HiddenField)e.Row.FindControl("pytanieWAnkiecieIdHiddenField");

                if (pytanieWAnkiecieId != null)
                {
                    SqlDataSource OdpowiedziNaPytanieSqlDataSource = (SqlDataSource)e.Row.FindControl("OdpowiedziNaPytanieSqlDataSource");

                   OdpowiedziNaPytanieSqlDataSource.SelectParameters["PYTANIEWANKIECIE_ID"].DefaultValue = pytanieWAnkiecieId.Value;
                }
            }
        }

        protected void OdpowiedziNaPytanieGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label ProcentWybranychLabel = (Label)e.Row.FindControl("ProcentWybranychLabel");
                Label WybranychLabel = (Label)e.Row.FindControl("WybranychLabel");
                Int32 procent = Int32.Parse(WybranychLabel.Text) * 100 / Wypelnionych;
                ProcentWybranychLabel.Text = "(" + procent + "%)";

                Image procentWybranychImage = (Image)e.Row.FindControl("procentWybranychImage");

                if (procentWybranychImage != null)
                {
                    procentWybranychImage.Width = procent;
                }


                HiddenField OdpowiedzDowolnaHiddenField = (HiddenField)e.Row.FindControl("OdpowiedzDowolnaHiddenField");
                if (OdpowiedzDowolnaHiddenField != null && OdpowiedzDowolnaHiddenField.Value != "")
                {
                    SqlDataSource OdpowiedziDowolneSqlDataSource = (SqlDataSource)e.Row.FindControl("OdpowiedziDowolneSqlDataSource");

                    OdpowiedziDowolneSqlDataSource.SelectParameters["ODPOWIEDZDOWOLNA_ID"].DefaultValue = OdpowiedzDowolnaHiddenField.Value;


                    LinkButton PokazUkryjDowolneLinkButton = (LinkButton)e.Row.FindControl("PokazUkryjDowolneLinkButton");
                    PokazUkryjDowolneLinkButton.Visible = true;
                }
                else
                {
                    LinkButton PokazUkryjDowolneLinkButton = (LinkButton)e.Row.FindControl("PokazUkryjDowolneLinkButton");
                    PokazUkryjDowolneLinkButton.Visible = false;
                }
            }
        }


        protected void OdpowiedziNaPytanieGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {

            if (e.CommandName == "PokazUkryjDowolne")
            {

                Int32 rowIndex = Convert.ToInt32(e.CommandArgument);
                
                
                GridView OdpowiedziNaPytanieGridView = (GridView)sender;

                GridView OdpowiedziDowolneGridView = (GridView)OdpowiedziNaPytanieGridView.Rows[rowIndex].FindControl("OdpowiedziDowolneGridView");

                if (OdpowiedziDowolneGridView != null)
                {
                    if (OdpowiedziDowolneGridView.Visible == true)
                    {
                        OdpowiedziDowolneGridView.Visible = false;
                    }
                    else
                    {
                        OdpowiedziDowolneGridView.Visible = true;
                    }
                    OdpowiedziDowolneGridView.DataBind();

                }


            }

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            
            Session.Add("SurveyResult", ResultSurveyContent);

            Page.ClientScript.RegisterStartupScript(this.GetType(), "Drukowanie", "window.open('SurveyResultPrint.aspx','_blank')", true);
    


        }



        


    }
}